#include<stdio.h>
#include<sys/ipc.h>
#include<sys/shm.h>
#include"Common.h"
#include<stdlib.h>
#include<unistd.h>
int main()
{
    //申请唯一key值
    key_t key=ftok(PATHNAME,PROJ_ID);
    if(key<0)
    {
        perror("ftok");
        exit(1);
    }
    printf("key alreadly creat...\n");
    sleep(3);
    //创建共享内存资源,保证一定是新的共享内存资源，并设置权限为0644
    int shm_id=shmget(key,SIZE,IPC_CREAT|IPC_EXCL|0644);
    if(shm_id<0)
    {
        perror("shmget");
        exit(2);
    }
    printf("shm alreadly get...\n");
    sleep(3);
    //以读写方式链接共享内存资源
    char* start=(char*)shmat(shm_id,NULL,0);
    printf("server alreadly at shm...\n");
    //进行读写操作
    while(1)
    {
        printf("%s\n",start);
        sleep(1);
    }
    shmdt(start);
    printf("server alreadly dt shm...\n");
    sleep(2);
    shmctl(shm_id,IPC_RMID,NULL);
    printf("delete shm...\n");
    return 0;
}

